home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1990: Discy Business / Discy Business.2mg / DEV.CD / TOOLS / CLIBS / LIBRARIES / CINCLUDE / LIST.H < prev    next >
Encoding:
C/C++ Source or Header  |  1988-08-01  |  4.8 KB  |  100 lines  |  [B0] Apple IIgs Source Code (0x000A)

  1. /********************************************
  2. ; File: List.h
  3. ;
  4. ;
  5. ; Copyright Apple Computer, Inc. 1986, 1987
  6. ; All Rights Reserved
  7. ;
  8. ********************************************/
  9.  
  10. #ifndef __types__
  11. #include <types.h>
  12. #endif
  13.  
  14. #ifndef __quickdraw__
  15. #include <quickdraw.h>
  16. #endif
  17.  
  18. #ifndef __event__
  19. #include <event.h>
  20. #endif
  21.  
  22. #ifndef __control__
  23. #include <control.h>
  24. #endif
  25.  
  26. #ifndef __list__
  27. #define __list__
  28.  
  29. #define  cString  0x0001   /*ListType bit mask - null terminated string type */
  30. #define  LIST_STRG   0x0001   /*ListType bit mask - null terminated string type */
  31. #define  selectOnlyOne  0x0002   /*ListType bit mask - only one selection allowed */
  32. #define  LIST_SELECT 0x0002   /*ListType bit mask - single selection only */
  33.  
  34. #define  memDisabled 0x40  /*memFlag - Sets member flag to disabled */
  35. #define  memSelected 0x80  /*memFlag - Sets member flag to selected */
  36.  
  37. typedef struct MemRec  {
  38.       Pointer     memPtr;     /* MemRec - Pointer to string, or custom */
  39.       Byte     memFlag;     /* MemRec - Bit Flag */
  40.       } MemRec,  *MemRecPtr,  **MemRecHndl ;
  41.  
  42. typedef struct LColorTable  {
  43.       Word     listFrameClr;     /* LColorTable - Frame color */
  44.       Word     listNorTextClr;     /* LColorTable - Unhighlighted text color */
  45.       Word     listSelTextClr;     /* LColorTable - Highlighted text color */
  46.       Word     listNorBackClr;     /* LColorTable - Unhighlighted background color */
  47.       Word     listSelBackClr;     /* LColorTable - Highlighted backgraound color */
  48.       } LColorTable,  *LColorTablePtr,  **LColorTableHndl ;
  49.  
  50. typedef struct ListCtlRec  {
  51.       CtlRecHndl     ctlNext;     /* ListCtlRec - Handle of Next Control */
  52.       GrafPortPtr     ctlOwner;     /* ListCtlRec - Window owner */
  53.       Rect     ctlRect;     /* ListCtlRec - Enclosing Rect */
  54.       Byte     ctlFlag;     /* ListCtlRec - Bit 7 visible, Bit 0 string type, Bit 1 multiple */
  55.       Byte     ctlHilite;     /* ListCtlRec - (not used) */
  56.       Word     ctlValue;     /* ListCtlRec - First member in display */
  57.       LongProcPtr     ctlProc;     /* ListCtlRec - Address of list definition procedure */
  58.       LongProcPtr     ctlAction;     /* ListCtlRec - Address of list action procedure */
  59.       LongWord     ctlData;     /* ListCtlRec - Low = view size, High = total members */
  60.       LongWord     ctlRefCon;     /* ListCtlRec - Not used */
  61.       LColorTablePtr     ctlColor;     /* ListCtlRec - Null for default colors */
  62.       VoidProcPtr     ctlMemDraw;     /* ListCtlRec - Address of routine to draw members */
  63.       Word     ctlMemHeight;     /* ListCtlRec - Member's Height in Pixels */
  64.       Word     ctlMemSize;     /* ListCtlRec - Bytes in member record */
  65.       MemRecPtr     ctlList;     /* ListCtlRec - Adress of first member record in array */
  66.       CtlRecHndl     ctlListBar;     /* ListCtlRec - Handle of list contrlo's scroll bar control */
  67.       } ListCtlRec,  *ListCtlRecPtr,  **ListCtlRecHndl ;
  68.  
  69. typedef struct ListRec  {
  70.       Rect     listRect;     /* ListRec - Enclosing Rectangle */
  71.       Word     listSize;     /* ListRec - Number of List Members */
  72.       Word     listView;     /* ListRec - Max Viewable members */
  73.       Word     listType;     /* ListRec - Bit Flag */
  74.       Word     listStart;     /* ListRec - First member in view */
  75.       CtlRecHndl     listCtl;     /* ListRec - List control's handle */
  76.       VoidProcPtr     listDraw;     /* ListRec - Adress of Custum drawing routine */
  77.       Word     listMemHeight;     /* ListRec - Height of list members */
  78.       Word     listMemSize;     /* ListRec - Size of Member Records */
  79.       MemRecPtr     listPointer;     /* ListRec - Pointer to first element in MemRec[] */
  80.       LongWord     listRefCon;     /* ListRec - becomes Control's refCon */
  81.       BarColorsPtr listScrollClr;     /* ListRec - Color table for list's scroll bar */
  82.       } ListRec,  *ListRecPtr,  **ListRecHndl ;
  83.  
  84. extern pascal void  ListBootInit() inline(0x011C,dispatcher);   /* List */
  85. extern pascal void  ListStartup() inline(0x021C,dispatcher);   /* List */
  86. extern pascal void  ListShutDown() inline(0x031C,dispatcher);   /* List */
  87. extern pascal Word  ListVersion() inline(0x041C,dispatcher);   /* List */
  88. extern pascal void  ListReset() inline(0x051C,dispatcher);   /* List */
  89. extern pascal Boolean  ListStatus() inline(0x061C,dispatcher);   /* List */
  90. extern pascal ListCtlRecHndl  CreateList() inline(0x091C,dispatcher);   /* List */
  91. extern pascal void  DrawMember() inline(0x0C1C,dispatcher);   /* List */
  92. extern pascal LongProcPtr  GetListDefProc() inline(0x0E1C,dispatcher);   /* List */
  93. extern pascal void  NewList() inline(0x101C,dispatcher);   /* List */
  94. extern pascal MemRecPtr  NextMember() inline(0x0B1C,dispatcher);   /* List */
  95. extern pascal MemRecPtr ResetMember() inline(0x0F1C,dispatcher);   /* List */
  96. extern pascal void  SelectMember() inline(0x0D1C,dispatcher);   /* List */
  97. extern pascal void  SortList() inline(0x0A1C,dispatcher);   /* List */
  98.  
  99. #endif
  100.